function Paintable(paintableType, x, y) {"use strict";
	//
	this.paintableType = paintableType;
	//
	// Position
	this.x = x;
	this.y = y;
	//
	// Is Selected
	this._isSelected = false;
}

// update model
Paintable.prototype.update = function() {"use strict";
};

// return x position
Paintable.prototype.getX = function() {"use strict";
	return this.x;
};

// return y position
Paintable.prototype.getY = function() {"use strict";
	return this.y;
};

// return true if isSelected
Paintable.prototype.isSelected = function() {"use strict";
	return this._isSelected;
};

// set isSelected
Paintable.prototype.setSelected = function(isSelected) {"use strict";
	this._isSelected=isSelected;
};

// Renders object
Paintable.prototype.render = function(ctx) {"use strict";
	var imgId = this.paintableType.imageName;
	//
	if (this.isSelected()) {
		RenderUtil.render(ctx, 'selector1x1', this.x, this.y, 0.5, 1);
	}
	//
	RenderUtil.render(ctx, imgId, this.getX(), this.getY(), this.paintableType.offsetX, this.paintableType.offsetY);
};

// goTo command
Paintable.prototype.goTo = function(x, y) {"use strict";
};

// toString
Paintable.prototype.toString = function() {"use strict";
	return this.paintableType.name + ' (x:' + this.x + ', y:' + this.y + ')';
};

// return x position for busy map
Paintable.prototype.getInitialBusyX = function() {"use strict";
	return Math.floor(this.x);
};

// return y position for busy map
Paintable.prototype.getInitialBusyY = function() {"use strict";
	return Math.floor(this.y);
};

// return x size for busy map
Paintable.prototype.getSizeBusyX = function() {"use strict";
	return 1;
};

// return y size for busy map
Paintable.prototype.getSizeBusyY = function() {"use strict";
	return 1;
};

